﻿Imports System.Reflection
Imports System.Windows.Forms

Public Class Sources
    Implements UCBase.I_Plugin
    Private DevList As New List(Of UCBase.UCSDevice)
    Public Function GetDevice(ByVal Name As String) As System.Windows.Forms.Control Implements UCBase.I_Plugin.GetDevice
        If Name = "AutoTriggerCamera" Then Return New AutoTriggerCamera 'Get Control from Reference Name
        If Name = "BasicCamera" Then Return New BasicCamera 'Get Control from Reference Name
        If Name = "ImageSource" Then Return New ImageSourceB 'Get Control from Reference Name
        Return Nothing
    End Function
    Public Sub New()
        'Add Control to plugin Device List
        DevList.Add(New UCBase.UCSDevice("Auto Trigger Camera", "AutoTriggerCamera", "Source", "Auto Trigger Camera (Free Running)"))
        DevList.Add(New UCBase.UCSDevice("Basic Camera", "BasicCamera", "Source", "Basic Camera"))
        DevList.Add(New UCBase.UCSDevice("Image Source", "ImageSource", "Source", "Image Source"))
    End Sub
    Public ReadOnly Property Devices() As System.Collections.Generic.List(Of UCBase.UCSDevice) Implements UCBase.I_Plugin.Devices
        Get
            Return DevList
        End Get
    End Property
    Public Sub Unload() Implements UCBase.I_Plugin.Unload
        Me.Finalize()
    End Sub
    Protected Overrides Sub Finalize()
        MyBase.Finalize()
    End Sub
    Public WriteOnly Property Resources() As UCBase.ResourceManager Implements UCBase.I_Plugin.Resources
        Set(ByVal value As UCBase.ResourceManager)

        End Set
    End Property
End Class
